// -*- C++ -*------------------------------------------------------------------
//  $Id: Saver.h,v 1.3 2008-05-09 13:58:34 biocomp Exp $
//
//  Class:              Saver
//
//  Base Class(es):     -
//
//  Derived Class(es):  PdbSaver, XyzSaver, IntSaver, RelSaver, SeqSaver
//
//  Containing:         -
//
//  Author:             Silvio Tosatto
//
//  Project Name:       Victor
//
//  Date:               08/99
//
//  Reviewed By:        <Name>
//
//  Description:
//    Base class for saving components (Atoms, Groups, etc.).
//
// ---------------------------------------------------------------------------

#ifndef _SAVER_H_
#define _SAVER_H_

// Includes:
#include <Debug.h>

// Global constants, typedefs, etc. (to avoid):

namespace Biopool {

class Group;
class SideChain;
class AminoAcid;
class Spacer;
class Ligand;
class LigandSet;

class Saver
{
public: 

// CONSTRUCTORS/DESTRUCTOR:
  Saver() {};
  // this class uses the implicit copy operator.
  virtual ~Saver() {};  

// MODIFIERS:
  virtual void saveGroup(Group& group) {};
  virtual void saveSideChain(SideChain& node) {};
  virtual void saveAminoAcid(AminoAcid& node) {};
  virtual void saveSpacer(Spacer& node) {};
  virtual void saveLigand(Ligand& node) {};
  virtual void saveLigandSet(LigandSet& node) {};

protected:

private:

};

} // namespace
#endif //_SAVER_H_










